package com.ruoyi.web.controller.system;

import com.ruoyi.web.service.C2CodeDetailsService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

@RestController
@RequestMapping("/api/C2CodeDetails")
public class C2CodeDetailsController {

    @Autowired
    private C2CodeDetailsService c2CodeDetailsService;


    @GetMapping("/commitByTop30")
    public Map<String, Object> getTop30Modules() {
        // 获取前30个模块的计数数据
        List<Map<String, Object>> data = c2CodeDetailsService.getTop30CommitCounts();  // 调用您之前修改的代码

        // 构建返回结果
        Map<String, Object> response = new HashMap<>();
        response.put("data", data);
        response.put("message", "success");
        response.put("status", 200);

        return response;
    }

    /**
     * 获取过去30天 `moduleName` 相关的 Top30 数据
     *
     * @return 前端展示的 JSON 数据
     */
    @GetMapping("/top30CodeDetails")
    public Map<String, Object> getTop30ModulesLast30Days() {
        // 获取过去30天的 Top30 模块的计数数据
        List<Map<String, Object>> data = c2CodeDetailsService.getTop30CodeDetails(); // 调用获取 Top30 数据的方法

        // 构建返回结果
        Map<String, Object> response = new HashMap<>();
        response.put("data", data);
        response.put("message", "success");
        response.put("status", 200);

        return response;
    }

}
